package cn.iocoder.yudao.module.erp.controller.admin.dp.dpsign.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 配送后程 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DpSignRespVO {

    @Schema(description = "运单号")
    @ExcelProperty("运单号")
    private String dpId;

    @Schema(description = "货号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("货号")
    private String no;

    @Schema(description = "仓库类型 义乌1", example = "1")
    @ExcelProperty("仓库类型 义乌1")
    private Integer storeType;

    @Schema(description = "入库品名", example = "李四")
    @ExcelProperty("入库品名")
    private String inName;

    @Schema(description = "出库后展示")
    @ExcelProperty("出库后展示")
    private String dispatchNumber;

    @Schema(description = "总件数", example = "29683")
    @ExcelProperty("总件数")
    private Integer inCount;

    @Schema(description = "剩余总件数", example = "29140")
    @ExcelProperty("剩余总件数")
    private Integer remCount;

    @Schema(description = "总体积")
    @ExcelProperty("总体积")
    private Double inVolume;

    @Schema(description = "剩余总体积")
    @ExcelProperty("剩余总体积")
    private Double remVolume;

    @Schema(description = "总重量")
    @ExcelProperty("总重量")
    private Double weight;

    @Schema(description = "剩余总重量")
    @ExcelProperty("剩余总重量")
    private Double remWeight;

    @Schema(description = "到货件数", example = "19130")
    @ExcelProperty("到货件数")
    private Integer arrCount;

    @Schema(description = "到货体积")
    @ExcelProperty("到货体积")
    private Double arrVolume;

    @Schema(description = "到货重量")
    @ExcelProperty("到货重量")
    private Double arrWeight;

    @Schema(description = "到货时间")
    @ExcelProperty("到货时间")
    private LocalDateTime arrivedTime;

    @Schema(description = "配车出库时单据的备注说明")
    @ExcelProperty("配车出库时单据的备注说明")
    private String totalNote;

    @Schema(description = "密度")
    @ExcelProperty("密度")
    private Double density;

    @Schema(description = "送货人联系方式")
    @ExcelProperty("送货人联系方式")
    private String deliveryPhone;

    @Schema(description = "送货人名称", example = "赵六")
    @ExcelProperty("送货人名称")
    private String deliveryName;

    @Schema(description = "垫付金额")
    @ExcelProperty("垫付金额")
    private Double earpayAmount;

    @Schema(description = "入库照片")
    @ExcelProperty("入库照片")
    private String inPic;

    @Schema(description = "线路选择 东线1 西线2")
    @ExcelProperty("线路选择 东线1 西线2")
    private Integer line;

    @Schema(description = "用户输入的具体路线")
    @ExcelProperty("用户输入的具体路线")
    private String way;

    @Schema(description = "货值")
    @ExcelProperty("货值")
    private Double goodsValue;

    @Schema(description = "保费")
    @ExcelProperty("保费")
    private Double premium;

    @Schema(description = "保率")
    @ExcelProperty("保率")
    private Integer guaranteedRate;

    @Schema(description = "是否核销 0否1是")
    @ExcelProperty("是否核销 0否1是")
    private Integer writeOff;

    @Schema(description = "核销费用")
    @ExcelProperty("核销费用")
    private Double writeExpenses;

    @Schema(description = "优惠金额")
    @ExcelProperty("优惠金额")
    private Double discountAmount;

    @Schema(description = "附件")
    @ExcelProperty("附件")
    private String file;

    @Schema(description = "备注")
    @ExcelProperty("备注")
    private String note;

    @Schema(description = "发货人")
    @ExcelProperty("发货人")
    private String shipper;

    @Schema(description = "目的地")
    @ExcelProperty("目的地")
    private String destination;

    @Schema(description = "收货人")
    @ExcelProperty("收货人")
    private String consignee;

    @Schema(description = "垫付打包费")
    @ExcelProperty("垫付打包费")
    private Double advancePayPack;

    @Schema(description = "垫付提货费")
    @ExcelProperty("垫付提货费")
    private Double advancePayPackUp;

    @Schema(description = "垫付国内运费")
    @ExcelProperty("垫付国内运费")
    private Double advancePayChinaFreight;

    @Schema(description = "垫付货款")
    @ExcelProperty("垫付货款")
    private Double advancePayForGoods;

    @Schema(description = "代收")
    @ExcelProperty("代收")
    private Double collecting;

    @Schema(description = "客户返点")
    @ExcelProperty("客户返点")
    private Double customerRebate;

    @Schema(description = "业务返点")
    @ExcelProperty("业务返点")
    private Double businessRebate;

    @Schema(description = "审核状态 未审核0 审核1 退回2", example = "1")
    @ExcelProperty("审核状态 未审核0 审核1 退回2")
    private Integer status;

    @Schema(description = "支付类型(1国内支付 2国外支付)", example = "2")
    @ExcelProperty("支付类型(1国内支付 2国外支付)")
    private Integer payType;

    @Schema(description = "业务员")
    @ExcelProperty("业务员")
    private String salesman;

    @Schema(description = "单价", example = "27723")
    @ExcelProperty("单价")
    private Double unitPrice;

    @Schema(description = "立方单价", example = "9188")
    @ExcelProperty("立方单价")
    private Double cubeUnitPrice;

    @Schema(description = "1按重量 2按立方 3按整车 4按重量和立方 5垫付加运费")
    @ExcelProperty("1按重量 2按立方 3按整车 4按重量和立方 5垫付加运费")
    private Integer calmethod;

    @Schema(description = "总金额")
    @ExcelProperty("总金额")
    private Double totalAmount;

    @Schema(description = "是否拆票 0否 1是")
    @ExcelProperty("是否拆票 0否 1是")
    private Integer isSplit;

    @Schema(description = "出入库状态 0未出库 1已出库 2已入库", example = "2")
    @ExcelProperty("出入库状态 0未出库 1已出库 2已入库")
    private Integer inventoryStatus;

    @Schema(description = "提货状态 0未提货 1已提货", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    @ExcelProperty("提货状态 0未提货 1已提货")
    private Integer pickStatus;

    @Schema(description = "已收运费")
    @ExcelProperty("已收运费")
    private Double receivedFare;

    @Schema(description = "还需要支付的金额")
    @ExcelProperty("还需要支付的金额")
    private Double debtTotal;

    @Schema(description = "赔付金额")
    @ExcelProperty("赔付金额")
    private Double claimAmount;

    @Schema(description = "制单时间")
    @ExcelProperty("制单时间")
    private String chooseDate;

    @Schema(description = "已返点")
    @ExcelProperty("已返点")
    private Double isPoint;

    @Schema(description = "已核销")
    @ExcelProperty("已核销")
    private Double isWriteOff;

    @Schema(description = "未返点")
    @ExcelProperty("未返点")
    private Double notPoint;

    @Schema(description = "未核销")
    @ExcelProperty("未核销")
    private Double notWriteOff;

    @Schema(description = "1到货签收 2配送后程")
    @ExcelProperty("1到货签收 2配送后程")
    private Integer signStatus;

    @Schema(description = "已签收件数")
    @ExcelProperty("已签收件数")
    private Integer signNum;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

    @Schema(description = "更新时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime updateTime;

}